/*
 * @Author: zhw 443844039@qq.com
 * @Date: 2025-08-10 10:30:00
 * @LastEditors: zhw 443844039@qq.com
 * @LastEditTime: 2025-08-10 10:45:00
 * @Description: Vue2 字典缓存存储模块
 */

// 字典缓存存储对象
const dictCache = {}

// 字典存储工具
const dictStore = {
  /**
   * 从缓存获取字典
   * @param {string} dictType 字典类型
   * @returns {Array} 字典数据数组
   */
  getDict(dictType) {
    return dictCache[dictType] || null
  },

  /**
   * 存入字典到缓存
   * @param {string} dictType 字典类型
   * @param {Array} data 字典数据
   */
  setDict(dictType, data) {
    if (dictType && data) {
      dictCache[dictType] = data
    }
  },

  /**
   * 清除指定字典缓存
   * @param {string} dictType 字典类型
   */
  removeDict(dictType) {
    if (dictCache[dictType]) {
      delete dictCache[dictType]
    }
  },

  /**
   * 清除所有字典缓存
   */
  clearAll() {
    for (const key in dictCache) {
      if (dictCache.hasOwnProperty(key)) {
        delete dictCache[key]
      }
    }
  },

  /**
   * 获取所有缓存的字典类型
   * @returns {Array} 字典类型数组
   */
  getAllDictTypes() {
    return Object.keys(dictCache)
  }
}

export default dictStore
    